Systems and Methods for Creating Custom Media Channels

ABSTRACT

There is provided a system including a memory and a processor configured to display a programming guide for a first media channel including a first media content scheduled to play at a first broadcast time and a second media channel including a second media content scheduled to play at a second broadcast time, receive a user input for creating a custom channel, the custom channel including the first media content obtained from the first media channel and the second media content obtained from the second media channel, create a custom content for the custom channel, in response to the user input, by obtaining the first media content from the first media channel at the first broadcast time and obtaining the second media content from the second media channel at the second broadcast time, receive a request for playing the custom channel, and display the custom content of the custom channel on a display.

BACKGROUND

Traditionally, watching television meant selecting a television stationto watch and watching the programming and advertisements broadcastthereon. Digital video recorders began to free viewers from thetraditional model by allowing the viewers to choose when to watch aprogram, and even allowing the consumer to forward throughadvertisements. Cable providers began to provide some on-demand content,allowing the viewers to pay extra to view the on-demand content that wasnot otherwise available. Now, television networks and other contentproviders commonly provide programs for viewing on-line. However, suchon-line and on-demand viewings, and other alternative viewing options donot completely fulfill the viewer's desire for personal and customizedviewing options.

SUMMARY

The present disclosure is directed to systems and methods for creatingcustom media channels, substantially as shown in and/or described inconnection with at least one of the figures, as set forth morecompletely in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a diagram of an exemplary system for creating a custommedia channel, according to one implementation of the presentdisclosure;

FIG. 2 shows a diagram of an exemplary programming guide for use withthe system of FIG. 1, according to one implementation of the presentdisclosure;

FIG. 3 shows a diagram of an exemplary display showing a media contentand a custom media channel message, according to one implementation ofthe present disclosure; and

FIG. 4 shows a flowchart illustrating an exemplary method of eating acustom media channel, according to one implementation of the presentdisclosure.

DETAILED DESCRIPTION

The following description contains specific information pertaining toimplementations in the present disclosure. The drawings in the presentapplication and their accompanying detailed description are directed tomerely exemplary implementations. Unless noted otherwise, like orcorresponding elements among the figures may be indicated by like orcorresponding reference numerals. Moreover, the drawings andillustrations in the present application are generally not to scale, andare not intended to correspond to actual relative dimensions.

FIG. 1 shows a diagram of an exemplary system for creating a custommedia channel, according to one implementation of the presentdisclosure. Diagram 100 includes media input 101, computing device 110,input device 193, and display device 195. Computing device 110 includesprocessor 120, memory 130, and microphone 160. Processor 120 is ahardware processor, such as a central processing unit (CPU) used incomputing devices. Memory 130 is a non-transitory storage device forstoring computer code for execution by processor 120, and also storingvarious data and parameters. Memory 130 includes executable code 140,custom channel database 150, and voice command database 155. Computingdevice may be a service provider's server, or computing device 110 maybe an in-home device, such as a computer, a tablet computer, a smarttelevision, a set-top box, etc. In some implementations, computingdevice 110 may include input device 193 and/or display device 195.

Media input 101 may include a plurality of media channels, including afirst media channel and a second media channel. In some implementations,media input 101 may be an input from a service provider, such as aninternet service provider, a cable television provider, etc. Each mediachannel of media input 101 may include one or more media contents, suchas one or more television shows, news programs, sporting events, talkshows, etc. Additionally, each media content may have an associatedbroadcast time including dates and times when the media content will beavailable for viewing. In some implementations, media input 101 mayinclude data about each media channel and/or each media content, such asstation identification identifying a broadcast station transmitting themedia content, network identification identifying a media networkassociated with creating and/or distributing the media content, abroadcast schedule for the media content including dates and times whenthe media content will be available for viewing, a type or genre foreach media content, etc. The type or genre of the media content mayinclude descriptions such as news, sports, sitcom, comedy, drama,family, etc. Media input 101 may include a broadcast schedule for eachmedia channel in media input 101.

For example, media contents of media input 101 may include a metadatacontainer that provides information about each media content, such as,but not limited to, the title of each media content, the length of eachmedia content, etc. ID3 tags provide the Title. Artist, Year, Genre andother information about the media file they represent, whether an audiofile or a video file. An ID3 tag is a data container within a media filestored in a prescribed format. This data commonly contains, among otherthings, the Artist names, Title, Year and Genre of the media file. Insuch an example, information about media input 101 may be inserted intomedia content 101 using a number of different method such as, but notlimited to, in the header of each media content, at the end of eachmedia content, or as a sidecar file to each media content. For anotherexample, information about media input 101 may be inserted into eachmedia content of media input 101. In such an example, information aboutmedia input 101 may be inserted into the vertical ancillary data (VANC)space of each media content. Ancillary data (commonly abbreviated as ANCdata), in the context of television systems, refers to a means which bynon-video information (such as audio, other forms of essence, andmetadata) may be embedded within the serial digital interface.

Executable code 140 includes one or more software modules stored inmemory 130 for execution by processor 120 of commuting device 110. Asshown in FIG. 1, executable code 140 includes custom channel module 141,voice command module 143, and actions module 145. Custom channel module141 is a software module for execution by processor 120 to create one ormore custom media channels including media contents from media input101. Custom channel module 141 may obtain media contents, such astelevision shows, sporting events, etc., form media input 101. In someimplementations, custom channel module 141 may play a media content frommedia input 101 as the media content is broadcast, i.e., live, or customchannel module 141 may record the media content for delayed transmissionon one or more custom media channels. In some implementations, customchannel module 141 may save the one or more custom channels in customchannel database 151. In some implementations, the user may indicate alevel of interest for each media content, such as a low level ofinterest, an intermediate level of interest, a high level of interest,or the level of interest may be on a scale, such as a level of interestranging from one (1) to ten (10). In some implementations, the level ofinterest may be used to prioritize display of media contents.

Voice command module 143 is a software module for execution by processor120 to detect one or more keywords spoken by a user of system 100. Todetect one or more keywords spoken by the user, voice command module 143may use microphone 160. In some implementations, voice command module143 may detect one or more keywords in the natural speech of the user.In some implementations, voice command module 143 may receive an analoginput from microphone 160 and convert the analog input signal to adigitized signal using an analog-to-digital (A/D) converter. Voicecommand module 143 may sample the digitized signal and search for amatch in voice command database 155, and may identify the detected oneor more keywords when a match is found. After identifying the one ormore keywords using voice command database 155, voice command module 143may communicate with custom channel module 141, actions module 145,and/or display module 147 to execute the command associated with thedetected one or more keywords.

Actions module 145 is a software module for execution by processor 120.Actions module 145 may include one or more actions that may be executedin response to a user input, such as a voice command. For example,actions module 145 may include an action to advance to a next mediacontent in the custom content of a custom channel in response to a usersaying the command “Next.” In some implementations, actions module 145may also include actions to add a media content to a custom channel,remove a media content from a custom channel, create a new customchannel, assign a level of interest to a media content and/or customchannel, etc.

Custom channel database 150 is a database stored in memory 130. Customchannel database 150 may store one or more custom channels created by auser. Each custom channel stored in custom channel database 150 mayinclude one or more parameters describing the media contents to beshown, such as the titles and/or other scheduling information of eachmedia content included in the custom channel. When a user selects acustom channel to view, custom channel module 141 may retrieve thecustom channel parameters from custom channel database 150.

Voice command database 155 is a database stored in memory 130 includingan audio signal of one or more keywords. Each keyword of the one or morekeywords may have an associated command, such as pausing playback of thecustom channel, changing channels, skipping to a next or other mediacontent, modifying a custom channel, such as by adding or removing amedia content from the custom contents of the custom channel, etc. Insome implementations, keywords in voice command database 155 may beassociated with actions performed by actions module 145.

Microphone 160 is a microphone for receiving audio input, such as voicecommands. As shown in FIG. 1, microphone 160 is included in computingdevice 110, although microphone 160 may be included in display device195. Input device 191 may be a remote control, a computer mouse, acomputer keyboard, etc. Display device 195 is a device for displayingcustom channels. Display device 195 may be a television, a smarttelevision, a computer, a tablet computer, etc. In some implementations,display device 195 may include computing device 110, or display device195 may be a separate device communicably connected to computing device110.

FIG. 2 shows a diagram of an exemplary programming guide for use withthe system of FIG. 1, according to one implementation of the presentdisclosure. Diagram 200 includes media channel 211, media channel 222,media channel 223, and custom channel 225, including a plurality ofmedia contents on the media channels. Each media content is shownfilling a block of time at which the media content is scheduled tobroadcast in the schedule of the media channel on which the mediacontent is shown. Media contents 211-216 are also included at the timewhich each media content will be transmitted as custom media contents ofcustom channel 225. As shown in FIG. 2, media content 211 is scheduledto be broadcast on media channel 223 beginning at 5:00 PM and runninguntil 6:00 PM. Media content 211 is included as a custom content incustom channel 225 as live content. After media content 211, customchannel 225 includes media content 212. Media content 212 is a programscheduled to show on media channel 222 beginning at 6:00 PM and runninguntil 7:00 PM. A viewer watching custom channel 225 may watch mediacontent 211 followed by media content 212 without changing the channel.

Following media content 212, custom channel 225 includes media content213. Media content 213 is a program scheduled to show on media channel221 beginning at 5:30 PM and running until 7:00 PM. Media content 213 isincluded as a custom content in custom channel 225 as content has beenrecorded for delayed transmission. Custom media channel 225 allows theuser to view media content 212 followed by media content 213 withoutchanging the channel, even though media content 213 began broadcastingbefore media content 212 and was broadcast on a different media channelthan media content 213. Following media content 213, custom channel 225includes media content 214 which is included as live contentconcurrently showing on media channel 223 beginning at 8:30 PM andrunning until 9:00 PM. Media content 215 follows media content 214 onchannel 255. Media content 215 is scheduled to broadcast on mediachannel 223 beginning at 7:00 PM and running until 8:00 PM, and isincluded as custom content of custom channel 225 beginning at 9:00 PMand running until 10:00 PM. Beginning at 10:00 PM and running until12:00 AM, custom channel 225 includes media content 216. Media content216 is scheduled to broadcast on media channel 221 beginning at 9:00 PMand running until 11:00 PM, and is included as custom content recordedfor delayed transmission on custom channel 225.

FIG. 3 shows a diagram of an exemplary display showing a media contentand a custom media channel message, according to one implementation ofthe present disclosure. Diagram 300 shows display device 395 showing amedia content broadcast on media channel 321 beginning at 8:00 PM andscheduled to run until 9:00 PM. As shown in FIG. 3, at about 8:25 PM,message 342 is displayed on the display of display device 395 duringplayback of the media content indicating to the viewer that the viewer'scustom channel has a scheduled custom content that will begin in fiveminutes, at 8:30 PM. In some implementations, executable code 140 mayswitch to the custom media channel at the beginning of each customcontent included therein, or executable code 140 may communicate thepending custom media content, such as by displaying message 342. If aviewer chooses not to watch the custom media channel, executable code140 may record the custom media channel for on-demand viewing at a latertime.

In some implementations, a user may have a plurality of custom mediachannels. If the user is currently viewing a custom content of a customchannel, another of the user's custom channels may have a custom contentthat the user has marked with an equal or higher level of interest.Executable code 140 may display a message, such as message 342. In someimplementations, executable code 140 may switch to the custom mediachannel playing the media content having the higher level of interest.In other implementations, executable code 140 may continue displayingthe custom channel currently viewed by the user, and notify the user ofthe alternate media content using a display a message such as message342.

FIG. 4 shows a flowchart illustrating an exemplary method of creating acustom media channel, according to one implementation of the presentdisclosure. Method 400 begins at 410, where executable code 140 displaysa programming guide for a first media channel including a first mediacontent scheduled to play at a first broadcast time and a second mediachannel including a second media content scheduled to play at a secondbroadcast time. The programming guide may include a plurality of mediachannels and the scheduled media contents for each media channelprovided by a service provider, such as a cable television provider.

At 420, executable code 140 receives a user input for creating a customchannel, the custom channel including the first media content obtainedfrom the first media channel and the second media content obtained fromthe second media channel. In some implementations, executable code mayrequire a user to sign in to a user account before creating a custommedia channel. Custom channel module 141 may receive a user input frominput device 193 selecting a first media content from a first mediachannel and a second user input from input device 193 selecting a secondmedia content from a second media channel, the first media content andthe second media contents selected to be included as custom mediacontents in the custom media channel.

At 430, executable code 140 creates a custom content for the customchannel, in response to the user input, by obtaining the first mediacontent from the first media channel at the first broadcast time andobtaining the second media content from the second media channel at thesecond broadcast time. In some implementations, custom channel module141 may save the first media content and the second media content inmemory 130, or custom channel module 141 may save a location of thefirst media content and the second media content, such as a URL locatingthe media contents on one or more media servers. Method 400 continues at440, where executable code 140 receives a request for playing the customchannel. Executable code 140 may receive a request from input device 193or display device 195 requesting to play the custom media channel. At450, executable code 140, using display module 147, displays the customcontent of the custom channel on a display. The display may be atelevision, a computer display, a tablet computer, a mobile phone, etc.

At 460, executable code 140 receives a second user input for updatingthe custom channel. The second user input may come from input device 193or display device 195 and may update the custom channel by adding amedia content to the custom contents of the custom media channel,removing a media content to the custom contents of the custom mediachannel, changing the order of one or more custom contents of the custommedia channel, etc. In some implementations, the second user input maycome from a voice input using microphone 160. Voice command module 143may detect one or more keywords spoken by a user, match the detected oneor more keywords with a command in voice command database 155, andexecute the command. Method 400 continues at 470, where executable code140 updates the custom channel based on a second user input received.

At 480, executable code 140 receives a control input. The control inputmay be an input from input device 193, display device 195, or a voiceinput received via microphone 160. For example, a user viewing a mediacontent may want to view more media contents including similar subjectmatter. The user may use input device 193 to select a “more like this”option, directing actions module 145 to find more media contents similarto the media content being viewed. In other implementations, the usermay speak a command, such as speaking “more like this,” and actionsmodule 145 may find more media contents similar to the one being viewed.Method 400 continues at 490, where executable code 140 executes theaction based on the control input.

From the above description, it is manifest that various techniques canbe used for implementing the concepts described in the presentapplication without departing from the scope of those concepts.Moreover, while the concepts have been described with specific referenceto certain implementations, a person having ordinary skill in the artwould recognize that changes can be made in form and detail withoutdeparting from the scope of those concepts. As such, the describedimplementations are to be considered in all respects as illustrative andnot restrictive. It should also be understood that the presentapplication is not limited to the particular implementations describedabove, but many rearrangements, modifications, and substitutions arepossible without departing from the scope of the present disclosure.

1-20. (canceled) 21: A system comprising: a non-transitory memorystoring an executable code; a hardware processor is configured toexecute the executable code to: receive a first user input to create afirst custom channel; in response to receiving the first user input,obtain a first media content from any of a plurality of media channels;schedule the first media content to be played on the first customchannel; receive a second user input selecting a more-like-this optionto find one or more additional media contents from any of the pluralityof media channels, the one or more additional media contents having asubject matter similar to that of the first media content; in responseto receiving the second user input, find the one or more additionalmedia contents having the subject matter similar to that of the firstmedia content; and update the first custom channel to include the one ormore additional media contents. 22: The system of claim 21, wherein thehardware processor is further configured to execute the executable codeto: play the one or more additional media contents on the first customchannel. 23: The system of claim 21, wherein the hardware processor isfurther configured to execute the executable code to: in response toreceiving the first user input, obtain the first media content from anyof the plurality of media channels played at a first broadcast time ofthe plurality of broadcast times. 24: The system of claim 23, whereinthe hardware processor is further configured to execute the executablecode to: obtain a second media content from any of the plurality ofmedia channels played at a second broadcast time of the plurality ofbroadcast times; and update the first custom channel by including thefirst media content at a third broadcast time of the plurality ofbroadcast times, and by including the second media content at a fourthbroadcast time of the plurality of broadcast times; wherein the firstbroadcast time is different than the third broadcast time, or the secondbroadcast time is different than the fourth broadcast time. 25: Thesystem of claim 24, wherein obtaining the first media content andobtaining the second media content occur during overlapping timeperiods. 26: The system of claim 24, wherein the hardware processor isfurther configured to execute the executable code to: record the secondmedia content while playing the first media content on the first customchannel. 27: The system of claim 24, wherein the hardware processor isfurther configured to execute the executable code to: receive a thirduser input indicating a first level of interest in the first mediacontent; and receive a fourth user input indicating a second level ofinterest in the second media content; wherein the first level ofinterest is higher than the second level of interest. 28: The system ofclaim 24, wherein the first media content is obtained from a first mediachannel of the plurality of media channels and the second media contentis obtained from a second media channel of the plurality of mediachannels, and wherein the first media channel is different than thesecond media channel. 29: The system of claim 21, wherein the seconduser input is a voice command. 30: The system of claim 21, wherein thehardware processor is further configured to execute the executable codeto: in response to receiving the first user input, obtain the firstmedia content from any of the plurality of media channels played at afirst broadcast time of the plurality of broadcast times. update thefirst custom channel by including the first media content at a secondbroadcast time of the plurality of broadcast times; wherein the firstbroadcast time is different than the second broadcast time. 31: A methodcomprising: receiving a first user input to create a first customchannel; in response to receiving the first user input, obtaining afirst media content from any of a plurality of media channels;scheduling the first media content to be played on the first customchannel; receiving a second user input selecting a more-like-this optionto find one or more additional media contents from any of the pluralityof media channels, the one or more additional media contents having asubject matter similar to that of the first media content; in responseto receiving the second user input, finding the one or more additionalmedia contents having the subject matter similar to that of the firstmedia content; and updating the first custom channel to include the oneor more additional media contents. 32: The method of claim 31, furthercomprising: playing the one or more additional media contents on thefirst custom channel. 33: The method of claim 31, further comprising: inresponse to receiving the first user input, obtaining the first mediacontent from any of the plurality of media channels played at a firstbroadcast time of the plurality of broadcast times. 34: The method ofclaim 33, further comprising: obtaining a second media content from anyof the plurality of media channels played at a second broadcast time ofthe plurality of broadcast times; and updating the first custom channelby including the first media content at a third broadcast time of theplurality of broadcast times, and by including the second media contentat a fourth broadcast time of the plurality of broadcast times; whereinthe first broadcast time is different than the third broadcast time, orthe second broadcast time is different than the fourth broadcast time.35: The method of claim 34, wherein obtaining the first media contentand obtaining the second media content occur during overlapping timeperiods. 36: The method of claim 34, further comprising: recording thesecond media content while playing the first media content on the firstcustom channel. 37: The method of claim 34, further comprising:receiving a third user input indicating a first level of interest in thefirst media content; and receiving a fourth user input indicating asecond level of interest in the second media content; wherein the firstlevel of interest is higher than the second level of interest. 38: Themethod of claim 37, wherein the first media content is obtained from afirst media channel of the plurality of media channels and the secondmedia content is obtained from a second media channel of the pluralityof media channels, and wherein the first media channel is different thanthe second media channel. 39: The method of claim 31, wherein the seconduser input is a voice command. 40: The method of claim 31, furthercomprising: in response to receiving the first user input, obtaining thefirst media content from any of the plurality of media channels playedat a first broadcast time of the plurality of broadcast times. updatingthe first custom channel by including the first media content at asecond broadcast time of the plurality of broadcast times; wherein thefirst broadcast time is different than the second broadcast time.